home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 5 / Apprentice-Release5.iso / Source Code / Libraries / DCLAP 6d / dclap6d / DClap / DCommand.h < prev    next >
Text File  |  1996-07-05  |  785b  |  41 lines

  1. // DCommand.h
  2. // d.g.gilbert
  3.  
  4. #ifndef _DCOMMAND_
  5. #define _DCOMMAND_
  6.  
  7. #include "DTask.h"
  8.  
  9.  
  10. class DCommand : public DTask
  11. {
  12. public:
  13.   enum {
  14.       kCantUndo= 0, kCanUndo = 1,
  15.       kDoesntChange= 0, kCausesChange = 1
  16.       };
  17.     Boolean fCanUndo, fCausesChange, fCommandDone;
  18.     char * fTitle;
  19.     
  20.     DCommand();
  21.     DCommand( long command, DTaskMaster* itsSource, char* title = NULL,
  22.                         Nlm_Boolean canUndo = 0, Nlm_Boolean causesChange = 0);
  23.     void ICommand( long command, DTaskMaster* itsSource, char* title = NULL,
  24.                         Nlm_Boolean canUndo = 0, Nlm_Boolean causesChange = 0);
  25.     virtual ~DCommand();
  26.     virtual void DoIt();
  27.     virtual void Undo();
  28.     virtual void Redo();
  29.     virtual void UndoRedo();
  30.     virtual void Commit();
  31.  
  32. protected:
  33.     void SetupMenu(char* undo);
  34. };
  35.  
  36.  
  37.  
  38. extern DCommand* gLastCommand;
  39.  
  40. #endif
  41.